Zkay,
Для всех террейнов, для которых не указан порядок в самой карте (в типах ландшафта) - порядок наложения будет зависить от порядка прогрузки(отрисовки) их на карту, сперва все из редактора(те что левее ложатся вниз, те что правее наверх), затем уже те которые ты пытаешься триггерно добавить. Одновременно в одной игре можно отобразить не больше 16 типов террейнов.
Можешь просто выпустить несколько версий карты (зимнее оформление, осеннее, летнее, какое угодно другое). Для доты во всяком случае так делали.
DemonoiD, Нет, да и лимит не всегда был 8 мб, недавно с четырёх подняли (относительно времени жизни варкравта).
Снова есть ретурн баг, подгружаешь микс архив всем кто запустил карту без их ведома и подключаешь, пусть улыбаются.
Правда могут быть проблемы с некоторыми античитами.
Если делать это через War3ME, нужно добавить новую текстуру, а потом назначить её нужным материалам через Material Manager. В mdlvis можно менять пути у существующих текстур через редактор текстур.
незнаю поможет или нет но пробни через кустом скрипт написать это AddUnitAnimationProperties(u, "Alternate", false)
где u - это твой юнит и советую перед ней поставить паузу тригера на 0.1 хотяб
Не надо плодить мифы, если модель не является разрушаемым объектом, то она не исчезает при верно рассчитанных границах
Разрушаемый объект исчезает всегда, когда центр пропадает из кадра, как вариант можно заменить юнитом
Нет реально короче сделал так... (тут замок было написано в качестве примера) на деле есть здание я взял модель похожую на это здание которую через доп юнита неподвижного ставлю чуть выше здания и когда у здания я использую спел пустышку "строить " здание из выбора игрока удаляется и в выбор подставляется это кусок здания что выше а оно уже обладает меньшим радиусом что не вызывает проблем ну и разумеется в обычной игре эту часть выбрать нельзя будет
Stiletto, по моей задумке, башня должна стрелять только при наличии внутри расчета. Одного. Который занимает два места, выделенных нестандартным "Складом". Через дирижабль бункер получится.
Все, понял, в чем дело: орудийный расчет требует 2 места. Т.к. и было рассчитано на 2, помещался 1 расчет. Изменил потребность в месте для расчета на 1 – все заработало.
Но вот отчего на 2 не работает?
Модель имеет несколько наборов анимаций (тк предусмотрен апгрейд)
Если использовать модель башни как боевую единицу
В РО в графе Графика- Нужная анимация не должно быть записи upgrade second (Эта запись означает что будет использоваться анимация башни с орудием - второй апгрейд) Если ты апгрейдишь в игре свою башню естественно ее анимация меняется.
Как декорация модель будет использовать в игре стандартную анимацию без модификаторов таких как upgrade first /second
В редакторе башня переодически показывает разные анимации.
Решение
Сделать модель на базе башни удалив лишние анимации и импортировать или сделать башню юнитом
Пробовать не хочу, но предложу вот, что:
Если цель - защитить карту от подглядывания. То при старте игры или инициализации (если получится) можно запустить триггер с условием Вид: карта разведана is Set == да (процитировал текст условия из Гуи), действие - замкнутый цикл, или вызвать фатальную ошибку, вылет и т.д. Суть в том, что когда игрок запустит карту с такими параметрами, то тупо закрашить варик.
есть событие - юнит получает урон. в нём отслеживается как жертва, так и наносящий урон. можно хоть через хэш, хоть через структуру Юнита записывать всё, что угодно. Кто от кого конкретно сколько получил урона, кто кому сколько нанёс, сколько провисел на ком-то бафф яда и т.п. (Сначала был loop, а теперь периодический триггер). Каждые N секунд, перебираешь всех юнитов в массиве или списке, и отслеживаешь всё, что надо.
Структура - Unit. У неё есть двойной список с юнитами и уроном от яда (полученным или нанесённым - зависит от того, у кого будет этот список - у жертв или у тех, кто наносит яд). Типа DoubleList. В DoubleList есть элементы DoubleElement. В каждом таком элементе записаны unit и real (урон от яда от этого юнита). При получении урона от яда перебирается список, если юнит уже есть, урон от него (или ему) прибавляется. Если нет, то создаётся новый элемент с новым юнитом.
Периодически у нужных юнитов эти списки перебираются. Всё.
Осуществляешь импорт по неправильному пути. Например (я пробовал для орков), "Sound\Music\mp3Music\Orc1.mp3", "Sound\Music\mp3Music\Orc2.mp3", "Sound\Music\mp3Music\Orc3.mp3", "Sound\Music\mp3Music\Orc1X.mp3" и т.д. Все стандартные треки были заменены на мой. Чтобы корректно заменять музыку на карте, нужно знать пути импорта. Путь к оригинальным трекам можно посмотреть в mpq-архиве через архиваторы.
Cпособ #1
Самый простой вариант, это найти и скачать WE Unlimited. Редактор хоть и стар как сам варкрафт. но у него есть так называемый Enchacer. Через данный Enchacer можно вытаскивать любые данные и даже манипулировать импорт и путями. Единственный недостаток, что запускается он не на всех ОС из-за требования каких-то dll которые являются интегрированными в XP, но за каким то чудом нет в остальных Windows, так что придется немного потанцевать с бубном, но потом ты сможешь хоть ландшафт из стандартной карты интегрировать.
Способ #2
MPQ архиватором вскрываешь архив карты и находишь данные о ландшафте и обо всем что на нем стоит. Ищешь или создаешь карту с нужным тебе ландшафтом, и затем интегрируешь все уже в свою карту.
Оба способа требуют манипуляций с файлами, зато позволяет эксплуатировать главную карту как бессмертное ядро, которому надо всего лишь менять внешнюю оболочку в лице ландшафта и декора.
ssbbssc, лист файл он вряд ли спасёт ручками
это должен сам депротектор сделать
common.j в карте вообще нету
вероятнее всего побит/отсутствует файл с гуишным скриптом
и возможно вместо файла с юнитами slk таблица
вот про файлы
Происходящее здесь напомнило мне один случай из моего далекого прошлого. В те времена я еще только начинал осваивать редактор. Одна из тем, которая меня заинтересовала и по которой мне не удалось найти достаточно полной информации - утечки. Тогда я пошел на один форум и задал простой вопрос о том, как определить наличие и степень серьезности утечек в карте, не перебирая весь код. В результате я получил тонну флуда и "ответ от профи", с которым все в итоге согласились - фрагмент кода с ценным указанием "если это число растет быстро - утечек много, если медленно - мало или нет вовсе". Код представлял из себя таймер с малым периодом, который создавал объект, брал его хендл, писал в чат и удалял объект, но был один нюанс - создаваемый объект утекал на каждой итерации таймера.
Если охото сделать зарыды со счетчиком то тут 2 пути:
Юзать стандартные абилки со счетчиком зарядов, а их только 2 совы охотницы и вспышки орудийного расчета гномов. Увы первая цель декор онли, вторая цель точка онли, на юнита никак, кстати хорошо подходит под кастом блинки, кастуется почти мгновенно, быстрее канала, без всяких рукомаханий.
Использовать N способностей с разными иконками, на которых будет изображен счетчик, изменяя уровень способности или вовсе весть скилл через 'Eneg' (Техника, скилл механика, позволяет изменять поля скиллов) то можно создать скиллы со счетчиком, допустим пока есть заряды у скилла нету кулдауна, скилл последнего заряда имеет кулдаун.
Увы туча ипорта да и найти качественные иконки со счетчиком дело непростое.
я изменил там все поля связанные с опытом на ноль (кроме фактора предыдущего значения, он ниже единицы не ставился), а с таблиц просто поудалял значения. вот видимо при загрузке оно туда вписывало стандартные... сейчас поставил туда тоже нолик, все норм стало. (:
Но ведь сами по себе ошибки не происходят.
Причина подобного это А) - невнимательность либо твоя либо автора В) - программное обеспечение
Что бы в дальнейшем все было окей, просто сначала потести карту полностью что бы знать что и как должно быть, а потом вноси изменения, будь внимательней.
Еще советую связаться с автором и поговорить с ним об этой проблеме, или запросить у него еще 1 исходник да бы сверЯться с ним.
Оказывается такой вопрос уже задавали ранее и не раз. Поиск по форуму выдал следущий результат.
function GetHost takes nothing returns player
local player p
local gamecache g = InitGameCache("Map.w3v")
call StoreInteger ( g, "Map", "Host", GetPlayerId(GetLocalPlayer ())+1)
call TriggerSyncStart ()
call SyncStoredInteger ( g, "Map", "Host" )
call TriggerSyncReady ()
set p = Player( GetStoredInteger ( g, "Map", "Host" )-1)
call FlushGameCache( g )
set g = null
return p
endfunction
Патиссончик, про центр области не заметил
точка каждый раз создаётся заново и это утечка Патиссончик, есть прога на сайте для записи логов
так же есть дебаг через прелоад на сайте
вот счётчик утечек
Лимит операций, обычно это беда настигает заядлых гуишников.
На jass обычно нету таких проблем.
Создайте таймер с периодом .00 сек и запускайте им функции инициализации триггеров.
функция типа InitTrig_Имя триггера - это функция инициализации триггера, она вызывается из функции InitCustomTriggers, но если этих вызовов очень много то функция упирается в лимит операций и поток завершается так и не создав все триггеры.
1.Юнит умирает => считаешь кол. юнитов в области(ну где у тебя волны спавнятся и т.д.) принадлежащие нейтрально-враждебным=> если 0=> тогда выбираешь своих героев и телепортируешь
2.Юнит входит в область => телепортируешь на нужный уровень, где "добывать золото легко"
Юнит умирает => возродить в локации, где "золото добывать тяжело"
Если нужно, чтоб они одновременно начинали добывать золото, то тогда нужен еще триггер
Юнит покидает область => кол. юнитов в области => если 0 => тогда запускаешь триггер для добычи голда или же еще что-то по твоему желанию ( например сразу не перемещать юнитов, а ждать пока все выполнят ивэнт и уже после всех распределить)
Пробовать не хочу, но предложу вот, что:
Если цель - защитить карту от подглядывания. То при старте игры или инициализации (если получится) можно запустить триггер с условием Вид: карта разведана is Set == да (процитировал текст условия из Гуи), действие - замкнутый цикл, или вызвать фатальную ошибку, вылет и т.д. Суть в том, что когда игрок запустит карту с такими параметрами, то тупо закрашить варик.
есть событие - юнит получает урон. в нём отслеживается как жертва, так и наносящий урон. можно хоть через хэш, хоть через структуру Юнита записывать всё, что угодно. Кто от кого конкретно сколько получил урона, кто кому сколько нанёс, сколько провисел на ком-то бафф яда и т.п. (Сначала был loop, а теперь периодический триггер). Каждые N секунд, перебираешь всех юнитов в массиве или списке, и отслеживаешь всё, что надо.
Структура - Unit. У неё есть двойной список с юнитами и уроном от яда (полученным или нанесённым - зависит от того, у кого будет этот список - у жертв или у тех, кто наносит яд). Типа DoubleList. В DoubleList есть элементы DoubleElement. В каждом таком элементе записаны unit и real (урон от яда от этого юнита). При получении урона от яда перебирается список, если юнит уже есть, урон от него (или ему) прибавляется. Если нет, то создаётся новый элемент с новым юнитом.
Периодически у нужных юнитов эти списки перебираются. Всё.
Нашёл систему, где звук передаётся в таймер, который истекает через 0 секунд. В результате один и тот же звук может проигрываться несколько раз без всяких проблем. В инетике пишут мол это такой баг движка.
» WarCraft 3 / Как использовать большее типов ландшафта?
» WarCraft 3 / Ограниченые ресурсы
» WarCraft 3 / Чит не работает, но почему???
» WarCraft 3 / Как ставить модели????
» WarCraft 3 / Башня
» WarCraft 3 / ИИ
» WarCraft 3 / Импорт Звука
» WarCraft 3 / Открытие карты
» WarCraft 3 / Jass New Gen Pack
» WarCraft 3 / Стаки
» WarCraft 3 / Отключение получения опыта
» WarCraft 3 / Не возможно открыть файл основной карты
» WarCraft 3 / Угол крена
» WarCraft 3 / Творческий кризис
» WarCraft 3 / Очередь Тригеров
» WarCraft 3 / Как определить хоста?
» WarCraft 3 / Карта из нескольких частей
» WarCraft 3 / Триггер на телепорт
» WarCraft 3 / ИИ
» WarCraft 3 / Баг со звуком в карте.